The present invention relates to process model merging. More specifically, the present invention relates to generating a modified process model based on a selected set of model operations in view of atomic differences and compound differences between models.
A wide variety of tasks in nearly all fields of engineering, business and everyday life can be seen as processes. In the context of the present disclosure, the term “process” can be understood in its broadest sense. As used herein, the term “process” can be understood as a set of actions and decisions to be undertaken to achieve a desired result. For example, a vending machine may be equipped to accept coins and to make appropriate change depending on a purchase. As such, the vending machine may carry out a process involving actions such as deciding whether an inserted object is a coin, discarding non-coin objects via a change return opening, identifying the denomination of inserted coins and totaling their value, calculating an appropriate set of coins to be returned as change. As is evident from this example, the set of actions and decisions constituting a process may include sequenced actions and decisions, i.e., actions and decisions that must be carried out in a particular order. Similarly, the set of actions and decisions constituting a process may include actions and/or decisions that are carried out in parallel, i.e., at the same time. Moreover, actions and decisions within the set of actions and decisions constituting a process may be dependent on other actions and/or decisions within the set of actions and decisions constituting the process and/or dependent on external factors. In the above example, for instance, identifying the denomination need not be carried out if it has been determined that the inserted object is not a coin. Similarly, the actions and decisions associated with calculating an appropriate set of coins to be returned as change might not be carried out if the user does not press the “return change” button or if the user does not make a purchase.
Processes can be modeled a variety of ways, i.e., in accordance with any of a plurality of modeling schemes. For example, it is known to use a conventional graph having nodes and edges to model a process. Individual nodes of the graph can represent individual operations/decisions belonging to the process. Similarly, individual nodes of the graph can represent a set of operations/decisions belonging to the process. This is purely a matter of definition since what is to be considered a single action/decision or a set of actions/decisions is simply a question of the granularity of the model. As exemplified by the above example, getting into a car can be viewed as a single action or as a set of numerous actions and decisions. The individual edges can interconnect a respective pair of nodes and can thus represent dependencies between the operations/decisions associated with the respective, interconnected nodes. For example, a directed graph (i.e., a graph with “unidirectional” edges) can be used to represent sequencing (i.e., temporal dependency) within the process.
In cases where different processes are modeled using different modeling schemes (e.g., using schemes of differing granularity), a mapping may exist between the different modeling schemes. Such a mapping allows a process modeled with one of the different modeling schemes to be compared with or converted to another of the different modeling schemes, or vice-versa.